package com.djzhou.util;

import java.text.DecimalFormat;

/**
 * 数字工具类
 * @（#）:DoubleParser.java 
 * @author:  KANGQI  2013-10-12 
 * @version: [SVN] 
 * @modify: 
 * @Copyright:  黑龙江中科方德软件有限公司
 */
public class DoubleParser {
	
	/**
	 * 格式化数字，若小数后超过两位则保留两位小数，四舍五入
	 * @param double参数
	 * @return 格式化结果
	 */
	public static String format(double f){
		return format(f,2);
	}
	
	/**
	 * 格式化数字，constraint为true时强制保留两位小数，四舍五入
	 * @param double参数
	 * @param constraint 强制保留小数位数
	 * @return 格式化结果
	 */
	public static String format(double f,boolean constraint){
		return format(f,2,constraint);
	}
	
	/**
	 * 格式化数字，若小数后超过两位则保留@lenth位小数，四舍五入
	 * @param double参数
	 * @length 保留几位小数
	 * @return 格式化结果
	 */
	public static String format(double f,int length){
		return format(f,length,false);
	}
	
	/**
	 * 格式化数字，constraint为true时强制保留@lenth位小数，四舍五入
	 * @param double参数
	 * @length 保留几位小数
	 * @param constraint 强制保留小数位数
	 * @return 格式化结果
	 */
	public static String format(double f,int length,boolean constraint){
		String tag = constraint ? "0" : "#";
		String style = "###0.";
		for(int i=0;i<length;i++){
			style+=tag;
		}
		return new DecimalFormat(style).format(f);
	}
}
